Skip to content

test: retry transient GitHub API errors in scenario suite#147

Merged
joshua-temple merged 1 commit into
mainfrom
fix/gh-transient-retry
Jun 26, 2026
Merged

test: retry transient GitHub API errors in scenario suite#147
joshua-temple merged 1 commit into
mainfrom
fix/gh-transient-retry

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

Under the concurrent 10-repo fleet fan-out, individual gh calls intermittently hit transient GitHub API errors (observed: HTTP 401 and HTTP 500 on workflow dispatch), failing the run on a different repo each time. Add a gh() wrapper sourced via BASH_ENV that retries only transient HTTP 401/403/429/5xx (and secondary-rate-limit markers) with bounded backoff, and passes every other result through unchanged. It returns immediately on exit 0, so a gh call that succeeds and reports a logical failure conclusion (what the negative probes assert) is never retried; real 404/422 errors propagate. Five attempts, fails closed. actionlint clean; masking-safety proven by bash unit tests (logical failures and 404/422 pass through, only transient HTTP errors retry).

@github-actions

Copy link
Copy Markdown
Contributor

Cascade plan preview

This merge would:

  • No build or deploy would be triggered by this merge.

@joshua-temple joshua-temple merged commit f674084 into main Jun 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant